<template>
  <div ref="chart" style="width: 600px; height: 400px;"></div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  props: {
    chartData: {
      type: Array,
      required: true
    }
  },
  mounted() {
    this.initChart();
  },
  methods: {
    initChart() {
      const chart = echarts.init(this.$refs.chart);
          const option = {
        //图表标题
        title: {
          text: '消费账单列表',
          left: 'center'
          },
        //工具提示
              tooltip: {
        //表示在鼠标悬停在某个数据项上时显示工具提示。
          trigger: 'item'
              },
        //图例
        legend: {
          orient: 'vertical',
          left: 'left'
              },
        //数据系列
        series: [
          {
            name: '消费',
            type: 'pie',
            radius: '50%',
            data: this.chartData.map(item => ({
              name: item.name,
              value: item.price
            })),
            //设置高亮状态下的样式
            emphasis: {
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
              }
            }
          }
        ]
      };
      chart.setOption(option);
    }
  },
  watch: {
    chartData: {
      handler(newVal) {
            this.initChart();
        console.log('newVal  ----->  ', newVal);
      },
      deep: true
    }
  }
};
</script>

<style scoped>
/* 你可以在这里添加一些样式 */
</style>